﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Tulde.WindowsPhone.Music
{
    /// <summary>
    /// Creates a Singleton of IViewModelSerializer.  This class should be removed if 
    /// we implement an IOC Container.
    /// </summary>
    public static class ViewModelSerializerFactory
    {
        private static IViewModelSerializer _instance;
        public static IViewModelSerializer Instance
        {
            get
            {
                return _instance;
            }
        }

        static ViewModelSerializerFactory()
        {
            _instance = new JSONViewModelSerializer();
        }
    }
    /// <summary>
    /// 
    /// </summary>
    public static class ViewModelCacheFactory
    {
         private static IViewModelCacheProvider _instance;
        public static IViewModelCacheProvider Instance
        {
            get
            {
                return _instance;
            }
        }

        static ViewModelCacheFactory()
        {
            _instance = new DefaultViewModelCacheProvider();
        }
    }
}
